自作module test実行のためpip¶
実行のためにめんどうな設定を指定たので調べてみた。
今までのmoduleへのPATHを通し方¶
- 自分用では、setup.pyからのtest実行時にsys.pathへの追加
- PYTHONPATHへの設定追加
sys.path.append('/path/to/module')
export PYTHONPATH=path/to/module
以下、改善。
環境設定¶
- pyvenvでvirtual envの設定(pyenvで今まで済ませていたけど、pyenv使えない環境のための勉強用)
- test用moduleのinstall
pip install -e PATH¶
- local pathをmoduleとしてinstallできる(privateなrepositoryも?)
- pipなので最低限のsetup.pyを用意する必要がある
from setuptools import setup
setup(
name='mymodule'
)
環境設定と合わせると以下のとおり
cd path/to/module
pyvenv venv
pip install pytest
# 他環境のpy.test実行を防ぎ、PATH設定されない状態を防ぐ)
pip install -e .
pip freeze
py==1.4.30
pytest==2.7.2
mymodule==0.0.0
まとめ¶
- 簡単にmoduleをinstall済みとして扱える
- venvディレクトリがあると他に必要なmoduleを追加したいときに気後れしない
- もしよさげなmoduleができたらsetup.pyが既にあるので追加で書けそう
すべてが好循環になりそう。